home *** CD-ROM | disk | FTP | other *** search
/ Aminet 40 / Aminet 40 (2000)(Schatztruhe)[!][Dec 2000].iso / Aminet / disk / cdrom / MusicBox-2.1bi.lha / MusicBox / Icon4.c < prev    next >
Encoding:
C/C++ Source or Header  |  2000-09-29  |  9.0 KB  |  220 lines

  1. /*
  2.  ##########################################################################
  3.  ####                                                                  ####
  4.  ####                        The MusicBox Project                      ####
  5.  ####                    ============================                  ####
  6.  ####                                                                  ####
  7.  #### Icon4.c                                                          ####
  8.  ####                                                                  ####
  9.  #### Version 2.1os  --  September 29, 2000                            ####
  10.  ####                                                                  ####
  11.  #### Copyright (C) 1994  Thomas Dreibholz                             ####
  12.  ####               2000  Molbachweg 7                                 ####
  13.  ####                     51674 Wiehl                                  ####
  14.  ####                     Germany                                      ####
  15.  ####                                                                  ####
  16.  ####                     EMail: Dreibholz@bigfoot.com                 ####
  17.  ####                     WWW:   http://www.bigfoot.com/~dreibholz     ####
  18.  ####                                                                  ####
  19.  ##########################################################################
  20. */
  21. /***************************************************************************
  22.  *                                                                         *
  23.  *   This program is free software; you can redistribute it and/or modify  *
  24.  *   it under the terms of the GNU General Public License as published by  *
  25.  *   the Free Software Foundation; either version 2 of the License, or     *
  26.  *   (at your option) any later version.                                   *
  27.  *                                                                         *
  28.  ***************************************************************************/
  29.  
  30. /* ShowCD-Icon */
  31.  
  32. struct Remember *ChipRemember=NULL;
  33.  
  34. UWORD ShowCDI1Data[] =
  35. {
  36. /* Plane 0 */
  37.     0x0000,0x0000,0x0000,0x0000,0x0000,0x0300,0x06A5,0x7000,
  38.     0x0300,0x0000,0x0038,0x0300,0x00D8,0x1800,0x0300,0x0000,
  39.     0x0800,0x0300,0x0553,0x67C0,0x0300,0x0800,0x3E00,0x0300,
  40.     0x0000,0x0000,0x0300,0x01A5,0x4FE0,0x0300,0x0000,0x0000,
  41.     0x0300,0x0000,0x0000,0x0300,0x0B52,0x29F0,0x0300,0x0000,
  42.     0x0000,0x0300,0x0000,0x0000,0x0300,0x03C9,0xF800,0x0300,
  43.     0x0000,0x0000,0x0300,0x03AB,0x7E00,0x0300,0x0000,0x0000,
  44.     0x0300,0x06B5,0x77C0,0x0300,0x0000,0x0000,0x0300,0x0F32,
  45.     0x5B00,0x0300,0x0FBF,0x0000,0x0300,0x0000,0xFF80,0x0300,
  46.     0x0000,0x0000,0x0300,0x3FFF,0xFFFF,0xFF00,0x0000,0x0000,
  47.     0x0300,0x1FF8,0x7FC1,0xFF00,0x0000,0x0000,0x0300,0x3FFF,
  48.     0xFFFF,0xFF00,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
  49.     0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
  50.     0x0000,
  51. /* Plane 1 */
  52.     0xFFFF,0xFFFF,0xFF00,0xC000,0x0000,0x0000,0xC000,0x0000,
  53.     0x0000,0xC000,0x0000,0x0000,0xC000,0x0000,0x0000,0xC000,
  54.     0x0000,0x0000,0xC000,0x0000,0x0000,0xC000,0x0000,0x0000,
  55.     0xC000,0x0000,0x0000,0xC000,0x0000,0x0000,0xC000,0x0000,
  56.     0x0000,0xC000,0x0000,0x0000,0xC000,0x0000,0x0000,0xC000,
  57.     0x0000,0x0000,0xC000,0x0000,0x0000,0xC000,0x0000,0x0000,
  58.     0xC000,0x0000,0x0000,0xC000,0x0000,0x0000,0xC000,0x0000,
  59.     0x0000,0xC000,0x0000,0x0000,0xC000,0x0000,0x0000,0xC000,
  60.     0x0000,0x0000,0xC000,0x0000,0x0000,0xC000,0x0000,0x0000,
  61.     0xC000,0x0000,0x0000,0xC000,0x0000,0x0000,0xFFFF,0xFFFF,
  62.     0xFC00,0xE007,0x803E,0x0000,0xFFFF,0xFFFF,0xFC00,0xC000,
  63.     0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
  64.     0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
  65.     0x0000,
  66. /* Plane 2 */
  67.     0x0000,0x0000,0x0000,0x3FFF,0xFFFF,0xFC00,0x395A,0x8FFF,
  68.     0xFC00,0x3FFF,0xFFC7,0xFC00,0x3F27,0xE7FF,0xFC00,0x3FFF,
  69.     0xF7FF,0xFC00,0x3AAC,0x983F,0xFC00,0x37FF,0xC1FF,0xFC00,
  70.     0x3FFF,0xFFFF,0xFC00,0x3E5A,0xB01F,0xFC00,0x3FFF,0xFFFF,
  71.     0xFC00,0x3FFF,0xFFFF,0xFC00,0x34AD,0xD60F,0xFC00,0x3FFF,
  72.     0xFFFF,0xFC00,0x3FFF,0xFFFF,0xFC00,0x3C36,0x07FF,0xFC00,
  73.     0x3FFF,0xFFFF,0xFC00,0x3C54,0x81FF,0xFC00,0x3FFF,0xFFFF,
  74.     0xFC00,0x394A,0x883F,0xFC00,0x3FFF,0xFFFF,0xFC00,0x30CD,
  75.     0xA4FF,0xFC00,0x3040,0xFFFF,0xFC00,0x3FFF,0x007F,0xFC00,
  76.     0x3FFF,0xFFFF,0xFC00,0x0000,0x0000,0x0000,0x3FFF,0xFFFF,
  77.     0xFC00,0x3FFF,0xFFFF,0xFC00,0x3FFF,0xFFFF,0xFC00,0x0000,
  78.     0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
  79.     0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x8000,0x0000,
  80.     0x0000,
  81. };
  82.  
  83. struct Image ShowCDI1 =
  84. {
  85.     0, 0,         /* Upper left corner */
  86.     40, 35, 3,       /* Width, Height, Depth */
  87.     ShowCDI1Data,    /* Image data */
  88.     0x0007, 0x0000,     /* PlanePick, PlaneOnOff */
  89.     NULL       /* Next image */
  90. };
  91.  
  92. #asm
  93. E1:
  94.    public _ShowCDI1Data_Len
  95. _ShowCDI1Data_Len
  96.    dc.l E1-_ShowCDI1Data
  97. #endasm
  98.  
  99. extern LONG ShowCDI1Data_Len;
  100.  
  101.  
  102. UWORD ShowCDI2Data[] =
  103. {
  104. /* Plane 0 */
  105.     0x0000,0x0000,0x0000,0x3FFF,0xFFFF,0xFF00,0x3FFF,0xFFFF,
  106.     0xFF00,0x3FFF,0xFFFF,0xFF00,0x3FFF,0xFFFF,0xFF00,0x3FFF,
  107.     0xFFFF,0xFF00,0x3FFF,0xFFFF,0xFF00,0x3FFF,0xFFFF,0xFF00,
  108.     0x3FFF,0xFFFF,0xFF00,0x3FFF,0xFFFF,0xFF00,0x3FFF,0xFFFF,
  109.     0xFF00,0x3FFF,0xFFFF,0xFF00,0x3FFF,0xFFFF,0xFF00,0x3FFF,
  110.     0xFFFF,0xFF00,0x3FFF,0xFFFF,0xFF00,0x3FFF,0xFFFF,0xFF00,
  111.     0x3FFF,0xFFFF,0xFF00,0x3FFF,0xFFFF,0xFF00,0x3FFF,0xFFFF,
  112.     0xFF00,0x3FFF,0xFFFF,0xFF00,0x3FFF,0xFFFF,0xFF00,0x3FFF,
  113.     0xFFFF,0xFF00,0x3FFF,0xFFFF,0xFF00,0x3FFF,0xFFFF,0xFF00,
  114.     0x3FFF,0xFFFF,0xFF00,0x3FFF,0xFFFF,0xFF00,0x3FFF,0xFFFF,
  115.     0xFF00,0x3FFF,0xFFFF,0xFF00,0x3FFF,0xFFFF,0xFF00,0x3FFF,
  116.     0xFFFF,0xFF00,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
  117.     0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
  118.     0x0000,
  119. /* Plane 1 */
  120.     0xFFFF,0xFFFF,0xFF00,0xC000,0x0000,0x0000,0xC000,0x0000,
  121.     0x0000,0xC000,0x0000,0x0000,0xC000,0x0000,0x0000,0xC000,
  122.     0x0000,0x0000,0xC000,0x0000,0x0000,0xC000,0x0000,0x0000,
  123.     0xC000,0x0000,0x0000,0xC000,0x0000,0x0000,0xC000,0x0000,
  124.     0x0000,0xC000,0x0000,0x0000,0xC000,0x0000,0x0000,0xC000,
  125.     0x0000,0x0000,0xC000,0x0000,0x0000,0xC000,0x0000,0x0000,
  126.     0xC000,0x0000,0x0000,0xC000,0x0000,0x0000,0xC000,0x0000,
  127.     0x0000,0xC000,0x0000,0x0000,0xC000,0x0000,0x0000,0xC000,
  128.     0x0000,0x0000,0xC000,0x0000,0x0000,0xC000,0x0000,0x0000,
  129.     0xC000,0x0000,0x0000,0xC000,0x0000,0x0000,0xFFFF,0xFFFF,
  130.     0xFC00,0xE007,0x803E,0x0000,0xFFFF,0xFFFF,0xFC00,0xC000,
  131.     0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
  132.     0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
  133.     0x0000,
  134. /* Plane 2 */
  135.     0x0000,0x0000,0x0000,0x3FFF,0xFFFF,0xFC00,0x395A,0x8FFF,
  136.     0xFC00,0x3FFF,0xFFC7,0xFC00,0x3F27,0xE7FF,0xFC00,0x3FFF,
  137.     0xF7FF,0xFC00,0x3AAC,0x983F,0xFC00,0x37FF,0xC1FF,0xFC00,
  138.     0x3FFF,0xFFFF,0xFC00,0x3E5A,0xB01F,0xFC00,0x3FFF,0xFFFF,
  139.     0xFC00,0x3FFF,0xFFFF,0xFC00,0x34AD,0xD60F,0xFC00,0x3FFF,
  140.     0xFFFF,0xFC00,0x3FFF,0xFFFF,0xFC00,0x3C36,0x07FF,0xFC00,
  141.     0x3FFF,0xFFFF,0xFC00,0x3C54,0x81FF,0xFC00,0x3FFF,0xFFFF,
  142.     0xFC00,0x394A,0x883F,0xFC00,0x3FFF,0xFFFF,0xFC00,0x30CD,
  143.     0xA4FF,0xFC00,0x3040,0xFFFF,0xFC00,0x3FFF,0x007F,0xFC00,
  144.     0x3FFF,0xFFFF,0xFC00,0x0000,0x0000,0x0000,0x3FFF,0xFFFF,
  145.     0xFC00,0x3FFF,0xFFFF,0xFC00,0x3FFF,0xFFFF,0xFC00,0x0000,
  146.     0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
  147.     0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x8000,0x0000,
  148.     0x0000,
  149. };
  150.  
  151. #asm
  152. E2:
  153.    public _ShowCDI2Data_Len
  154. _ShowCDI2Data_Len
  155.    dc.l E2-_ShowCDI2Data
  156. #endasm
  157.  
  158. extern LONG ShowCDI2Data_Len;
  159.  
  160. struct Image ShowCDI2 =
  161. {
  162.     0, 0,         /* Upper left corner */
  163.     40, 35, 3,       /* Width, Height, Depth */
  164.     ShowCDI2Data,    /* Image data */
  165.     0x0007, 0x0000,     /* PlanePick, PlaneOnOff */
  166.     NULL       /* Next image */
  167. };
  168.  
  169. struct DiskObject ShowCD =
  170. {
  171.     WB_DISKMAGIC,    /* Magic Number */
  172.     WB_DISKVERSION,     /* Version */
  173.     {          /* Embedded Gadget Structure */
  174.    NULL,       /* Next Gadget Pointer */
  175.    0, 0, 40, 36,     /* Left,Top,Width,Height */
  176.    GADGIMAGE | GADGHIMAGE, /* Flags */
  177.    RELVERIFY | GADGIMMEDIATE,    /* Activation Flags */
  178.    BOOLGADGET,    /* Gadget Type */
  179.    (APTR)&ShowCDI1,  /* Render Image */
  180.    (APTR)&ShowCDI2,  /* Select Image */
  181.    NULL,       /* Gadget Text */
  182.    NULL,       /* Mutual Exclude */
  183.    NULL,       /* Special Info */
  184.    0,       /* Gadget ID */
  185.    (APTR) 0x0001,    /* User Data (Revision) */
  186.     },
  187.     WBTOOL,       /* Icon Type */
  188.     NULL,         /* Default Tool */
  189.     NULL,         /* Tool Type Array */
  190.     NO_ICON_POSITION,      /* Current X */
  191.     NO_ICON_POSITION,      /* Current Y */
  192.     NULL,         /* Drawer Structure */
  193.     NULL,         /* Tool Window */
  194.     8192          /* Stack Size */
  195. };
  196.  
  197. VOID EntferneIcon()
  198. {
  199.  if(ChipRemember) FreeRemember(&ChipRemember,TRUE);
  200. }
  201.  
  202. BOOL InitIcon()
  203. {
  204.  REGISTER UBYTE *c1,*c2;
  205.  
  206.  c1=AllocRemember(&ChipRemember,ShowCDI1Data_Len,MEMF_CHIP);
  207.  c2=AllocRemember(&ChipRemember,ShowCDI2Data_Len,MEMF_CHIP);
  208.  if((c1==NULL)||(c2==NULL))
  209.   {
  210.    puts("Nicht genug Chip-Speicher!");
  211.    return(FALSE);
  212.   }
  213.  CopyMem(&ShowCDI1Data,c1,ShowCDI1Data_Len);
  214.  CopyMem(&ShowCDI2Data,c2,ShowCDI2Data_Len);
  215.  ShowCDI1.ImageData=c1;
  216.  ShowCDI2.ImageData=c2;
  217.  return(TRUE);
  218. }
  219.  
  220.